home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / misc / gms_e.lha / GMSDev / Source / E / Screens / Reposition.e < prev    next >
Text File  |  1997-09-15  |  2KB  |  68 lines

  1. /* Name:      Reposition
  2. ** Author:    Paul Manias
  3. ** Copyright: DreamWorld Productions (c) 1996-1997.  Freely distributable.
  4. **
  5. ** This example has a mobile 320x256 screen, which is attached to the
  6. ** mouse.  To exit the example, press LMB. 
  7. */
  8.  
  9. MODULE 'dpkernel','gms/dpkernel','graphics/pictures','files/files','graphics/screens'
  10. MODULE 'screens','system/register','system/modules','gms/joydata'
  11.  
  12. PROC main()
  13.    DEF screen:PTR TO screen, joy:PTR TO joydata, loadpic:PTR TO picture
  14.    DEF picfile:filename, scrmodule:PTR TO module
  15.  
  16.    picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Green']:filename
  17.  
  18.    IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  19.       SetUserPrefs(0)
  20.  
  21.     IF (scrmodule := Init([TAGS_MODULE,NIL,
  22.        MODA_NUMBER,    MOD_SCREENS,
  23.        MODA_TABLETYPE, JMP_AMIGAE,
  24.        TAGEND], NIL))
  25.  
  26.       scrbase := scrmodule.modbase
  27.  
  28.       IF (screen := Init([TAGS_SCREEN,NIL,
  29.           GSA_PALETTE,   [$000000,$103000,$F0C0B0,$F0A090,$D08080,$906050,$604040,$201010,
  30.                           $400000,$404040,$F0F000,$403020,$C0C000,$105000,$500010,$808000,
  31.                           $206010,$207010,$308020,$409020,$50A030,$50B040,$607070,$60C040,
  32.                           $708080,$90A0A0,$B0C0C0,$800010,$900010,$A00020,$700010,$600010 ]:LONG,
  33.           GSA_SCRWIDTH,  320,
  34.           GSA_SCRHEIGHT, 256,
  35.           GSA_PLANES,    5,
  36.           TAGEND],NIL))
  37.  
  38.          IF (loadpic := Init([TAGS_PICTURE,NIL,
  39.             PCA_DATA,       screen.memptr1,
  40.             PCA_WIDTH,      320,
  41.             PCA_HEIGHT,     256,
  42.             PCA_AMTCOLOURS, 32,
  43.             PCA_PALETTE,    screen.palette,
  44.             PCA_FILE,       picfile,
  45.             TAGEND],NIL))
  46.  
  47.             IF (joy := Init(Get(ID_JOYDATA),NIL))
  48.                Display(screen)
  49.                REPEAT
  50.                  Query(joy)
  51.                  screen.scrxoffset := screen.scrxoffset + joy.xchange
  52.                  screen.scryoffset := screen.scryoffset + joy.ychange
  53.                  WaitVBL()
  54.                  RemakeScreen(screen)
  55.                UNTIL !(joy.buttons AND JD_LMB)
  56.             ENDIF
  57.          ENDIF
  58.       ENDIF
  59.     ENDIF
  60.    Free(joy)
  61.    Free(loadpic)
  62.    Free(screen)
  63.    Free(scrmodule)
  64.    CloseDPK()
  65.    ENDIF
  66. ENDPROC
  67.  
  68.